Must be willing to work 3 days a week ON-SITE in Mason, OH; 2 days WFH
Will be leading a team of 4 engineers; Must be comfortable still doing hands on coding
Biggest need is strong Embedded C++ and Embedded Linux (applications layer but more deeply working down to the machine drivers/hardware). Hardware is the more critical piece. Willing to look at a Senior Level engineer who wants to move into leadership.
Software Engineering Manager
As a Software Engineering Manager, you will lead a software team through the complete software development lifecycle across multiple product lines. You will oversee software planning, design, analysis, testing, and rapid prototyping. Key responsibilities include:
- Directing the planning and release management of software programs for various product initiatives.
- Assigning tasks to team members to execute product roadmaps and leading individual software projects within larger development programs.
- Developing key software deliverables such as software architecture documentation, including requirements, state flow diagrams, tables, and data dictionaries.
- Overseeing software verification and validation activities, including defining and implementing specifications for validation, integration verification, unit testing, and various security and testing methodologies (HIL, SIL, PIL, SAST, DAST, IAST).
- Driving the development of application and embedded code across the software stack, covering mobile applications, APIs, hardware abstraction layers (HAL), multimedia subsystems, and operating systems (RTOS/Linux/Windows).
- Establishing internal coding standards and best practices in line with industry standards such as MISRA C, CERT C, JSF++, and SEI CERT.
- Leading software analysis activities, including DFMEA, FTA, error mitigation, and design for automation (DFA).
- Collaborating with systems and hardware teams to support continuous improvement efforts, focusing on cost reduction while maintaining product quality.
- Ensuring the development of secure software features, such as secure boot, TPM, HSM, data encryption, PKI, and secure access protocols.
- Supporting the development of software that implements communication protocols like I2C, SPI, Ethernet, TCP/IP, HTTPS, CAN, MQTT, Wi-Fi, Bluetooth, ZigBee, ONVIF, TLS, and Cellular Communications.
Qualifications:
- Bachelor's degree in Electrical Engineering, Computer Science, Software Engineering, or a related technical field.
- Over 15 years of experience in software development for product environments.
- At least 3 years of experience managing and leading software teams through development cycles.
- Expertise in programming languages such as Python, C++, JavaScript, and experience with Model-Based Design (MBD).
- Proficiency in coding Linux drivers across Windows, Linux, and Unix environments.
- Experience with version control tools like Git, GitLab, BitBucket, and project management tools like Jira and Confluence.
- Experience with wireless technologies (e.g., Bluetooth, Wi-Fi) and embedded Linux systems.
- Familiarity with container and orchestration platforms for software deployment.
- Strong communication and interpersonal skills.
- Ability to work on-site at Mason, Ohio Headquarters.
Preferred Qualifications:
- Experience with image signal processing (ISP), computer vision, machine learning, and related algorithms.
- Knowledge of blockchain software concepts and experience with IDEs like IAR and Simulink.
- Mastery of object-oriented design (OOD), design patterns, and technologies such as XML, JSON, SOAP, SOA, Spring framework, JDBC, and Hibernate.
- Experience in supporting regulated products through certification.
- Cybersecurity certifications like CEH, Security+, or Certified Google Cloud Security Professional.